package com.bjpowernode.query;

import jakarta.validation.constraints.*;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;

/**
 *
 */
@Data
public class ActivityQuery extends BaseQuery{

    /**
     * 主键，自动增长，用户ID
     */
    private Integer id;
    /**
     * 活动所属人ID
     */
    private Integer ownerId;

    /**
     * 活动名称
     */
    @NotEmpty(message = "不能为空")
    @Size(min = 2 , message = "名称至少两个字")
    @Pattern(regexp = "^[\\u4e00-\\u9fa5]+$" , message = "必须是中文")
    private String name;

    /**
     * 活动开始时间
     */
    @NotNull(message = "开始时间不能为空")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;

    /**
     * 活动结束时间
     */
    @NotNull(message = "结束时间不能为空")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    /**
     * 活动预算
     * 钱相关的 , 使用bigdecimal定义
     */
    @NotNull(message = "预算不能为空")
    @DecimalMin(value = "0.01" ,message = "预算必须必须是非负的") // 确保值大于0（包含0.01）
    private BigDecimal cost;

    /**
     * 活动描述
     */
    @NotEmpty(message = "不能为空")
    private String description;

    /**
     * 活动创建时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

}
